package recolhalixo;

import java.util.Collection;
import java.util.Random;
import java.util.Set;

import jadex.bridge.service.types.clock.IClockService;
import jadex.extension.envsupport.environment.IEnvironmentSpace;
import jadex.extension.envsupport.environment.ISpaceObject;
import jadex.extension.envsupport.environment.ISpaceProcess;

public class DepositoLixoProcess implements ISpaceProcess{

	@Override
	public void execute(IClockService arg0, IEnvironmentSpace env) {
		ISpaceObject[] caixotes=env.getSpaceObjectsByType("caixote");
		for (ISpaceObject caixote:caixotes) {
			Integer utilizacao=(Integer)caixote.getProperty("util");
			Integer quantidade=(Integer)caixote.getProperty("quantity");
			Integer capacidade=(Integer)caixote.getProperty("capacity");
			utilizacao=utilizacao+(new Random().nextInt(3)-1);
			if (quantidade+utilizacao<=capacidade)
				{caixote.setProperty("quantity", quantidade+utilizacao);}
			else
				{caixote.setProperty("quantity", capacidade);}
		}
	}

	@Override
	public void shutdown(IEnvironmentSpace arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void start(IClockService arg0, IEnvironmentSpace arg1) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Object getProperty(String arg0) {return null;}

	@Override
	public Set getPropertyNames() {return null;}

	@Override
	public boolean hasProperty(String arg0) {return false;}

	@Override
	public void setProperty(String arg0, Object arg1) {}
	
}
